/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.its.dsw2.biblioteca.bl;

import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import mx.its.dsw2.biblioteca.dao.AutorDaoLocal;
import mx.its.dsw2.biblioteca.enumeracion.estadoTransaccion;
import mx.its.dsw2.biblioteca.modelo.Autor;

/**
 *
 * @author franciscojavier
 */
@Stateless
public class AutorBl implements AutorBlLocal {
    @EJB
    private AutorDaoLocal autorDao;//llamada a un enterprice java bean con el metodo de inyeccion
    //de objetos pues cuando se necesite el mismo contenedor de EJB'S creara el objeto e inicializara
    //la variable
    //este es otro comentario
    @Override
    public estadoTransaccion Register(Autor author) {
       if(autorDao.findDuplicity(author)){
           return estadoTransaccion.INCOMPLETO;
       }else{
           autorDao.create(author);
           return estadoTransaccion.COMPLETO;
       }
    }
    


    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")

    

    @Override
    public estadoTransaccion modify(Autor author) {
        if(author.getId()==null || autorDao.find(author.getId())==null){
        return estadoTransaccion.INCOMPLETO;
        }
        else{
            autorDao.edit(author);
            return estadoTransaccion.COMPLETO;
        }
    }

    @Override
    public estadoTransaccion delete(Autor author) {
        if(author.getId()==null || autorDao.find(author.getId())==null){
        return estadoTransaccion.INCOMPLETO;
        }
        else{
            autorDao.remove(author);
            return estadoTransaccion.COMPLETO;
        }
    }

    @Override
    public List<Autor> getAll() {
        return autorDao.findAll();
    }

   
//   

    @Override
    public Autor findById(int idAutor) {
        return autorDao.find(idAutor);
    }

    
    
    
    }



